The present invention relates to a two-dimensional code recognition processing method, a two-dimensional code recognition processing apparatus, and a storage medium for allowing a computer to execute a two-dimensional code recognition processing program. More particularly, the invention relates to a two-dimensional code recognition processing method, a two-dimensional code recognition processing apparatus, and a storage medium for allowing a computer to execute a two-dimensional code recognition processing program, the method and the apparatus providing efficient and accurate recognition of code data based on image data of a suitably captured two-dimensional code.
The so-called bar code system is used extensively in various industrial fields. The system involves encoding in bars alphanumeric characters representing types and conditions of goods and articles, and typically attaching such codes to the goods and products so that the codes may be scanned later for retrieval of relevant information (e.g., about their types and conditions).
FIG. 20 shows a so-called one-dimensional bar code. In this example, a bar code label 500 is made up of a code part 501 and an ID (identification number) part 502. The code part 501 is a combination of different widths of bars (in black) and bar-to-bar gas (blanks). The ID part 502 indicates a code contained in the code part 501. Specifically, the ID part 502 shows as readable information alphanumeric characters that are coded in the code part 501. This type of one-dimensional bar code 500 is scanned by an optical recognition apparatus called a bar code scanner for recognition.
One way of reading the above-described one-dimensional bar code 500 is by use of a CCD video camera. As more and more bars are arranged to accommodate growing volumes of coded information, however, it becomes increasingly difficult for the video camera to read such one-dimensional bar codes 500 properly.
The difficulty in capturing large amounts of bar-coded information with the video camera is circumvented illustratively by a two-dimensional code system proposed to replace the one-dimensional bar code. As depicted in FIG. 21, various kinds of two-dimensional codes have been proposed, each code comprising a code part 601 and an ID part 602. The code part 601 has a plurality of black square cells arranged two-dimensionally according to predetermined layout rules. The ID part 602 indicates a code that is contained in the code part 601.
Greater quantities of information are represented when the information is coded two-dimensionally than if the one-dimensional code 500 is used. In other words, it is easier for the video camera to read large quantities of information if the information is coded two-dimensionally rather than one-dimensionally.
The two-dimensional code 600 has one disadvantage. That is, when the video camera picks up an image of a two-dimensional code 600 for code recognition, it is often difficult to distinguish the code from smear, dirt or other distracting images nearby. The result is that code data are often difficult to recognize precisely.
As with the one-dimensional bar code 500, the above-mentioned two-dimensional code 600 has the ID part 601 indicating the code in question in a human-readable format such as that of alphanumeric characters. With the two-dimensional code 600, however, it is impossible to recognize just what the code 600 signifies, to what code system the code 600 may possibly belong, or according to what layout rules the square cells making up the code are arranged two-dimensionally.
It is therefore an object of the present invention to overcome the above and other disadvantages of the prior art and to provide an apparatus and a method for recognizing code data efficiently and accurately from image data representing two-dimensional codes.
In carrying out the invention and according to one aspect thereof, there is provided a two-dimensional code recognition processing method for recognizing a two-dimensional code made of a plurality of square cells arranged in accordance with predetermined layout rules, the method comprising the steps of: generating binary data from image information acquired externally in accordance with a predetermined threshold value; detecting a reference cell serving as a reference in recognizing the two-dimensional code based on the binary data generated in the binary data generating step; detecting corner cells each located in a predetermined search range with respect to the reference cell detected in the reference cell detecting step, on the basis of the binary data generated in the binary data generating step; and detecting code data assigned to the two-dimensional code existing inside an area of a code part enclosed by the reference cell and by the corner cells on the basis of the binary data generated in the binary data generating step.
According to another aspect of the invention, there is provided a two-dimensional code recognition processing apparatus for recognizing a two-dimensional code made of a plurality of square cells arranged in accordance with predetermined layout rules, the apparatus comprising: binary data generating means for generating binary data from image information acquired externally in accordance with a predetermined threshold value; reference cell detecting means for detecting a reference cell serving as a reference in recognizing the two-dimensional code based on the binary data generated by the binary data generating means; corner cell detecting means for detecting corner cells each located in a predetermined search range with respect to the reference cell detected by the reference cell detecting means, on the basis of the binary data generated by the binary data generating means; and code data detecting means for detecting code data assigned to the two-dimensional code existing inside an area of a code part enclosed by the reference cell and by the corner cells on the basis of the binary data generated by the binary data generating means.
According to a further aspect of the invention, there is provided a storage medium for storing a two-dimensional code recognition processing program for recognizing a two-dimensional code made of a plurality of square cells arranged in accordance with predetermined layout rules, the program being executable by a computer and comprising the steps of: generating binary data from image information acquired externally in accordance with a predetermined threshold value; detecting a reference cell serving as a reference in recognizing the two-dimensional code based on the binary data generated in the binary data generating step; detecting corner cells each located in a predetermined search range with respect to the reference cell detected in the reference cell detecting step, on the basis of the binary data generated in the binary data generating step; and detecting code data assigned to the two-dimensional code existing inside an area of a code part enclosed by the reference cell and by the corner cells on the basis of the binary data generated in the binary data generating step.
As outlined above, through the use of the inventive two-dimensional code recognition processing method, two-dimensional code recognition processing apparatus and storage medium storing a two-dimensional code recognition processing program, binary data are generated from externally acquired image information in accordance with a predetermined threshold value. A reference cell is detected from the binary data thus generated, the reference cell serving as a reference in recognizing a two-dimensional code. Corner cells are detected from within a predetermined search range with respect to the reference cell. Code data are then detected which are assigned to the two-dimensional code existing in an area of a code part enclosed by the reference cell and by the corner cells.
Other objects, features and advantages of the invention will become more apparent upon a reading of the following description and appended drawings.